package model;
import java.util.ArrayList;
/**
 *
 * @author Gruppe 5
 */
public class MaskineCont{
    ArrayList<Maskine> maskiner;
    Maskine mask;
    private static MaskineCont instance;

    public MaskineCont()
    {
        maskiner = new ArrayList<Maskine>();
        mask = new Maskine();
    }


    public static MaskineCont getInstance()
    {
        if(instance == null)
        {
            instance = new MaskineCont();
        }
        return instance;
    }

    public int addMaskine(Maskine m)
    {
        int nyId = 1;
        if (m.getId() == 0)
        {
            if(maskiner.size() > 0)
            {
                int lastIndex = maskiner.size()-1;
                Maskine lastMaskine = maskiner.get(lastIndex);
                nyId = lastMaskine.getId();
                nyId +=1;
            }
            m.setId(nyId);
        }
        maskiner.add(m);
        return nyId;
    }

    public Maskine findMaskine(int id)
    {
        for (Maskine maskine : maskiner)
        {
            if (maskine.getId() == id)
            {
                return maskine;
            }
        }
        return null;
    }

    public Maskine findMaskineVedType(String type)
    {
        for (Maskine maskine : maskiner)
        {
            if (maskine.getType().equals(type))
            {
                return maskine;
            }
        }
        return null;
    }

    public void sletMaskine(int id)
    {
        Maskine maskine = findMaskine(id);
        maskiner.remove(maskine);
    }

    //     public ArrayList printMaskiner()
    //     {
        //         ArrayList<Maskine> maskineList = new ArrayList<Maskine>();
        //         for (Maskine m : maskiner)
        //         {
            //             m.printMaskine();
            //         }
            //         return maskineList;
            //     }

        public void printAlleMaskiner()
    {
        for(Maskine m : maskiner)
        {
            m.printMaskine();
        }
    }
    
    public ArrayList printEksemplar(int id)
    {
        return findMaskine(id).printEksemplar();
    }




    // IKKE FÆRDIG ENDNU!
    public ArrayList<Eksemplar> udlaanteEksemplarer()
    {
        ArrayList<Eksemplar> e = new ArrayList<Eksemplar>();
        for (Maskine m : maskiner)
        {
            e.addAll(mask.getUdlaant());
        }
        return e;
    }
    
}

